═══ 1. Copyright Notices ═══ Copyright Notices Functional Software and the logo are trademarks of Functional Software Limited. OS/2 is a trademark of International Business Machines Corporation. The PRELOAD software and accompanying documentation are freeware. This utility may be freely copied and distributed providing each copy is complete and unaltered. Please see the license agreement for full details. Preloadable applications are optimized by LXOPT, a software development tool from Functional Software Ltd. ═══ LXOPT ═══ LXOPT LXOPT is a freeware OS/2 software development tool. By working set tuning EXE/DLL files LXOPT will typically halve the amount of memory required to store application code. The instruction stream is also processed to ensure maximum CPU instruction cache efficiency and a PRELOAD option allows the use of this Preload Utility which transfers the application to the swapfile at machine start-up. LXOPT is available as LXOPT122.ZIP at numerous internet ftp sites including hobbes.nmsu.edu. ═══ 2. License Agreement ═══ License Agreement Definition of terms used in this agreement UTILITY: The PRELOAD software and accompanying documentation. USER: You, the user of the PRELOAD software. FSL: Us, Functional Software Limited. Acceptance Use of UTILITY indicates acceptance by USER of the terms and conditions of this agreement. If you do not agree to these terms and conditions you may not make use of UTILITY and must destroy any and all installed copies of the software. Grant of License The UTILITY software is copyright of Functional Software Limited. FSL retains ownership of UTILITY. You are hereby granted a nonexclusive license to use UTILITY subject to the permitted uses and restrictions contained in this agreement. Permitted Uses UTILITY may be applied to software owned or licensed by USER. USER may distribute copies of UTILITY on the condition that each copy is complete and unaltered. Each copy shall include both software and documentation which shall include this agreement and accompanying copyright notices. Restrictions UTILITY may not be used by any person not bound by all the terms of this agreement. USER may not sell or sub-license UTILITY or any part thereof other than as described in Permitted Uses above. USER may not alter UTILITY. Such prohibited alterations include, but are not limited to, the operation and appearance of the software and the text of the documentation which shall include this agreement and accompanying copyright notices. USER may not reverse compile, reverse engineer or reverse assemble any part of the UTILITY software. For the purposes of this agreement use of the UTILITY software as described in the accompanying documentation shall not constitute reverse engineering of the software. All rights not expressly granted by this agreement are retained by FSL. Limited Warranty UTILITY will only operate with specially prepared OS/2 executables. It is the responsibilty of USER to assess the suitability of UTILITY within their own computing environment. In view of this USER assumes all liability and responsibility for the decision to use UTILITY and any consequences thereof. UTILITY is supplied "AS IS", without warranty of any kind, either expressed or implied, statutory or otherwise, including but not limited to the implied warranties of merchantability or fitness for a particular purpose that may be made by FSL or its software suppliers on this product. No oral or written information or advice given by FSL, its software suppliers, dealers, distributors, agents or employees shall create a warranty and you cannot rely on the correctness of any such information or advice. Neither FSL, its software suppliers, dealers, distributors, agents or employees shall be liable for any direct, indirect, consequential or incidental damages. Including but not limited to damages for loss of business profits, business interruption or loss of business information, arising out of the use or inability to use the software or accompanying documentation, whether or not FSL has been advised of the possibility of such damages. Under no circumstances will FSL liability exceed the purchase price of the software. Governing Law This license is governed by the laws of England and USER agrees to submit to the jurisdiction of the English courts. Where the local laws of USER prohibit the jurisdiction of English law, this license will be governed by the laws of the country in which UTILITY is used. FSL may, at its own discretion, elect to enforce, apply and interpret the terms of this agreement under any applicable foreign jurisdiction. If any provision of this agreement is unenforceable, all others shall remain in effect. Furthermore, any such unenforceable provision shall remain and be interpreted in its strictest sense which remains consistent with governing law. ═══ 3. Welcome to the Preload Utility! ═══ Welcome to the Preload Utility! This utility takes specially prepared software, processes it and stores the result in the OS/2 swap file. Once in the swap file these applications may be loaded much more efficiently. By preloading software in this way you can choose to devote more of your computers resources to your favorite applications. Preloaded applications will startup quicker and perform much better in low memory conditions. How Is It Used? Preload is normally used at machine start-up by issuing requests to load specific applications. These requests are normally placed in startup.cmd which is executed every time OS/2 starts. Preloading is particularly effective where applications need to be loaded from a busy network. See the Using PRELOAD section for more details. What Can I Use It On? The utility will only work with the EXE and DLL files of specially prepared applications. The developers of these applications have already used the latest technology to ensure that their software consumes the least possible amount of your computers memory. This reduced memory use not only makes these applications faster, it frees more of your computers memory for use with other applications. By providing you with this utility the developers have given you the option to further increase run-time performance. Check the documentation of your application(s) to see if the developers provide any special advice on the use of this utility. Should I Use It On Everything? Each application you preload will add extra time to machine startup when it is preloaded and will increase the size of your swap file. It is up to you to choose the applications that you are willing to devote these additional resources to in order to increase run-time performance. As PRELOAD increases the use of your swap file you may need to take extra care that the drive that contains your swap file does not run out of disk space. See the description of the /M option for more details. Network Issues If you are a user on a managed network please inform the network manager of your use of this software. Preloading code alters the balance of the work load on your machine. Network load will increase at machine startup but will be reduced dramatically while running preloaded applications. Using PRELOAD also increases the desirability of larger local hard drives. ═══ 4. Using PRELOAD ═══ Using PRELOAD Usage: PRELOAD [options] [] [options] Available options are: /Q - Quiet mode (suppress copyright notice) /S - Silent mode (suppress all output) /G: - Group name (default is exe/dll file name) /I - make preload manager Invisible (remove from task list) /V - make preload manager Visible (add to task list) /U - Unload file/group, unload ALL if none specified /L - List previous active load instructions /W: - Wait for drive letters to become available. e.g. /W:FGH /X - unload all and eXit the preload manager /T: - file preload Time-out in seconds /M: - set Minimum Mb free swap space (default 10) /? or /H - display options See the various options for the syntax of some typical commands. The first use of preload starts the Preload Manager. This application manages the preloaded applications, loading and unloading them in response to user requests. The manager may run normally or invisibly as the user requires, see the /V and /I options. Preload is usually used by placing commands in startup.cmd. Often applications to be preloaded are on a network drive that is inaccessible when startup.cmd executes. To avoid this problem use the /W option which defers the preload request until the specified drives are available. Users of PRELOAD must be careful to ensure that there is sufficent disk space to allow the swap file to store processed executables. If your machine runs out of swap space some applications may refuse to run. To help prevent this situation PRELOAD automatically searches for the swap file and checks available disk space. If less than 10Mb is available requests to preload applications are denied. You may alter this default 10Mb limit with the /M option. ═══ 4.1. /Q ═══ /Q The /Q (Quiet) option prevents the display of the PRELOAD utility copyright notice. See Copyright Notices and License Agreement for the list of copyright/trademark holders and the license agreement which governs the use of this PRELOAD utility. ═══ 4.2. /S ═══ /S The /S (Silent) option prevents the display of the copyright notice and messages relating to the loading of individual files. files. By default each file loaded is listed after the command has completed. Specify /S to minimise the amount of information displayed on the screen. To prevent only the display of the copyright notice use the /Q option. ═══ 4.3. /G ═══ /G The /G option allows multiple applications to be referred to by a single name. All files are loaded into named groups. By default the group name is the filename derived from the pathname specified on the command line. For example PRELOAD C:\APPS\FAST_APP.EXE will preload the processed executable file FAST_APP.EXE and all processed DLLs on which it depends. These files are treated as a single loadable unit under the group name FAST_APP.EXE. Group names become useful when a user wishes to unload all the preloaded files associated with a single product. For example PRELOAD C:\APPS\FAST_APP.EXE /G:FAST_SUITE PRELOAD C:\APPS\FAST_SRV.EXE /G:FAST_SUITE PRELOAD C:\APPS\FAST_WPS.DLL /G:FAST_SUITE preloads the 'FAST' application, background server and workplace shell object DLL under the single name 'FAST_SUITE'. To release the preload on all these files requires just one use of the /U option. PRELOAD /G:FAST_SUITE /U Group names are restricted to 12 characters. ═══ 4.4. /I ═══ /I The /I option makes the Preload Manager program invisible. The preload manager window displays the progress of individual load requests. By default this progress is also displayed on use of the preload utility. Normally the Preload Manager is invisible. While invisible the Preload Manager will not appear in the task list or generate a close confirmation on shutdown. The preload manager is invisible by default. Use this option to hide it again after use of the /V option. ═══ 4.5. /V ═══ /V The /V option makes the Preload Manager program visible. Normally the preload manager operates invisibly and does not appear on screen or in the task list. The Preload Manager displays information on the progress of preload requests and may be terminated when visible. To make the Preload Manager invisible use the /I option. The Preload Manager may be terminated while invisible by use of /X. ═══ 4.6. /U ═══ /U The /U option is used to tell PRELOAD to unload a previously preloaded group of files. Used alone the /U option causes all preloaded files to be unloaded. PRELOAD /U When used with a file name /U unloads that specific file and all others loaded as a direct result. PRELOAD BIGAPP.EXE /U BIGAPP.EXE is unloaded together with any support DLLs on which it depends. If you have loaded multiple files using a group name, the entire group may be unloaded in a single command. PRELOAD /G:SERVERS /U The above command will unload all applications loaded under the group name SERVERS. See the /G option for information on placing applications into named groups. Unload requests are immediately confirmed but the unload of any active application and release of occupied swap file space is delayed until the last instance of the application is terminated. ═══ 4.7. /L ═══ /L The /L option lists all active groups and the preload requests that were made within each. Use /L to find out what preload requests have been made and identify which group names are active. Existing groups may be unloaded by the combination of the /U and /G options. ═══ 4.8. /W ═══ /W The /W option causes a preload request to be delayed until the supplied drive letters are available. If the requested drive letters are available at the time of the command the preload request will complete normally. If they are not available the preload utility reports that the request has been deferred and exits. PRELOAD watches silently for the drives to become available, usually this is after a network login. As soon as the drives are available PRELOAD will preload the files as normal. If a drive letter is specified with the application to be loaded that letter is automatically included in the list of drives to wait for. PRELOAD G:\APPS\BIGAPP.EXE /W The above command will wait for the availability of drive G: before completing. PRELOAD G:\APPS\BIGAPP.EXE /W:XYZ will wait for drives G:, X:, Y: and Z: to be available before attempting to preload the application. ═══ 4.9. /X ═══ /X Cancel all preload requests and terminate the Preload Manager. This command releases all preload requests and terminates all PRELOAD activity. Applications which have been preloaded remain so until the last running copy of the application is terminated. To unload specific applications see the /U parameter. ═══ 4.10. /T ═══ /T Set time limit for PRELOAD to give up on a request to preload an application. When PRELOAD attempts to load an application it must wait for that application to initialize before the request can complete. Sometimes this initialization may take a long time but it is also possible that it might fail due to some software fault or hardware failure. By default PRELOAD will wait 2 minutes (120 seconds) for an application to initialize. Use /T to increase this limit if your application needs more time or to reduce it if initialisation intermittemtly fails and you wish to speed up detection. PRELOAD G:\APPS\BIGAPP.EXE /T:240 The command above will wait 240 seconds (4 minutes) for the application to initialise correctly. Do not confuse this option with /W The /T timeout is designed to protect PRELOAD against errors in loaded applications and does not take effect until all required drives are available and a preload is attempted. ═══ 4.11. /M ═══ /M Specify the minimum allowed free disk space on the swap file partition for a preload request to be allowed to complete. PRELOAD operates by copying applications into the swapfile. Running out of swap file space may cause applications to fail or your machine to become unstable. If PRELOAD detects that space is getting low it will refuse to preload files. By defaut the minimum allowed free disk space is 10Mb. Use the /M option to alter this limit. PRELOAD G:\APPS\BIGAPP.EXE /M:50 The preload request above will be refused if there is less than 50Mb free on the swap partition. DO NOT use /M to reduce the required minimum free value unless you are sure there will be sufficient free swap space available to load the application requested and allow your machine to operate normally. You should always test the suitability of a preload request by typing it manually at a command line before inserting it into startup.cmd. ═══ 4.12. /? and /H ═══ /? and /H Display the list of PRELOAD options. /Q - Quiet mode (suppress copyright notice) /S - Silent mode (suppress all output) /G: - Group name (default is exe/dll file name) /I - Make Preload Manager invisible (remove from task list) /V - Make Preload Manager visible (add to task list) /U - Unload file/group, unload ALL if none specified /L - List previous active load instructions /W: - Wait for drive letters to become available. e.g. /W:FGH /X - Unload all and terminate the preload manager /T: - Exe load time-out in seconds /M: - Deny request if below Mb free swap space (default 10) /? or /H - Display options